Micron Document




Reverse domain name notation
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
top
Wikifunctions

has

a function related to this topic

.

Reverse domain name notation (or reverse-DNS) is a naming convention for components, packages, types or file names used by a programming language, system or framework. Reverse-DNS strings are based on registered domain names, with the order of the components reversed for grouping purposes. For example, if a company making the product "MyProduct" has the domain name example.com, they could use the reverse-DNS string com.example.MyProduct as an identifier for that product. Reverse-DNS names are a simple way of eliminating namespace collisions, since any registered domain name is globally unique to its owner (with alt roots making exceptions to this rule possible but unlikely).

Contents


──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────

History

The first appearance of reversed DNS strings predated the Internet domain name standards. The UK Joint Academic Networking Team (JANET) used this order in its Name Registration Scheme, before the Internet domain name standard was established. For example, the name uk.ac.bris.pys.as was interpreted as a host named as within the UK (top level domain .uk), while the Internet standard would have interpreted it as a host named uk within the American Samoa top level domain (.as). During the period while both JANET-style and Internet-style addresses were in use, mailers and gateway sites had ad-hoc workarounds to handle the differences, but could still be confused.

Reverse-DNS for identifier strings first became widely used with the Java platform.cite-ref-1[1]cite-ref-2[2]

Examples

Examples of systems that use reverse-DNS notation are:

Java generally uses it for namespaces, including packages and modules
Apple's Uniform Type Identifier (UTI)cite-ref-3[3]
• The Android operating system, for classifying applications (because the Dalvik virtual machine was based on Java)
dconf, the configuration backend used by GNOME
• ginitd 'service' identifiers
• The freedesktop.org Desktop Entry Specificationcite-ref-4[4] and D-Bus Specificationcite-ref-dbus-5-0[5]
Flatpak also uses a unique reverse-DNS identifier for each application, aligning with freedesktop.org standardcite-ref-flatpak-6-0[6]
• Lexicons in AT Protocol uses reverse domain name notation followed by an arbitrary name segment for referencing

Some examples of reverse-DNS strings are:

com.adobe.postscript-font, UTI string for Adobe Systems's PostScript fonts
com.apple.ostype, UTI string for Apple's OSType
org.omg.CORBA, Java library for CORBA
org.w3c.dom, Java library for W3C's DOM
com.eu.gershwin.DeviceManager, a ginitd service identifier commonly assigned to udev.
org.kde.dolphin.desktop, a desktop file name

See also
References

cite-note-11. citerefgoslingjoy1996Gosling, James; Joy, Billy (August 1996). "Java Language Specification". Sun Microsystems.
cite-note-22. Java Language Specification, Chapter 7, section 7
cite-note-33. "Apple Developer Connection: Introduction to Uniform Type Identifiers Overview". 2005-11-09. Retrieved 2013-04-04.
cite-note-44. "Desktop Entry Specification". freedesktop.org. Retrieved 15 November 2020.
cite-note-dbus-55. "D-Bus Specification". dbus.freedesktop.org.
cite-note-flatpak-66. "Requirements & Conventions". Flatpak.

External links

• Eclipse Naming Conventions
• Re: gnu.* namespace discussion